package webbrow.board.component;

import java.util.HashMap;
import java.util.List;

import webbrow.board.vo.BoardSpringVO;
import webbrow.board.vo.CategoryVO;

public interface BoardSpringDao extends BoardDao {
	// 글 삽입
	public void insertSpringBoard(BoardSpringVO vo);
	// 글 수정
	public void updateSpringBoard(BoardSpringVO vo);
	// 글 수정 하는 페이지
	public BoardSpringVO updateView(int no);
	// 글 상세보기
	public BoardSpringVO selectSpringBoard(int no);
	// 총 게시물 수
	public int selectTotalPostingCount(HashMap map);
	// 조회수 증가
	public void updateHits(int no);
	public List<BoardSpringVO> selectPostingList(CategoryVO cvo); //페이징
	// 답변글 로직 Response(답변글) 
	public int selectCountRef(int no);
	public int insertSpringResponse(BoardSpringVO vo);
	public void updateCountRestep(BoardSpringVO vo);
	
	/*
	 * 가장 최근 게시물을 가져오는 메소드
	 */
	public List selectLatestPostingList();
	/*
	 * 가장 인기있는 게시물을 가져오는 메소드
	 */
	public List selectHottestPostingList();
	/*
	 * 가장 최근 자유게시판 리스트를 가져오는 메소드
	 */
	public List selectFreeBoardPostingList();
	/**
	 * 댓글 달기
	 */
	public void insertComment(BoardSpringVO vo);
	public void updateRef(BoardSpringVO vo);
	
	/*
	 * 글 번호로 saveFileName을 가져오는 메소드
	 */
	public String selectSaveFileNameListByNo(int no);
	/*
	 * map에 글 번호와 갱신된 saveFileName을 보내는 메소드
	 */
	public void updateSaveFileName(HashMap map);
	/*
	 * file수정 없을 시 글 업데이트 메소드
	 */
	public void updateSpringBoardNoFileChange(BoardSpringVO vo);
	/*
	 * 글 번호로 orgFileName을 가져오는 메소드
	 */
	public String selectOrgFileNameListByNo(int no);
	/*
	 * map에 글 번호와 갱신된 orgFileName을 보내는 메소드
	 */
	public void updateOrgFileName(HashMap map);
}
